<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/ajax.js"></script>
</head>

<body>

</body>
<script>
    // Promise的拓展方法   =>  给所有的Promise实例使用

    // then()
    // catch()
    // finally()

    function readText(url) {
        var p = new Promise(function (resolve, reject) {
            $.ajax({
                type: "get",
                url: url,
                success: function (text) {
                    resolve(text);
                }
            })
        })
        return p; // {pending}
    }

    // Promise的链式操作
    // Promise.prototype.catch()方法是.then(null, rejection)或.then(undefined, rejection)的别名，用于指定发生错误时的回调函数。
    // a. 可以接收reject()方法 以抛错形式传递的数据 (异常捕获机制  try...catch)
    // b. new Promise()的回调函数中代码执行过程中的错误 (仅限于同步的)


    readText("../data/1.txt").then(function (text) {
        console.log("请求成功:", text);
    }).catch(err => {
        console.log("执行失败", err);
    })


</script>

</html>